/*/
	Header : RestFul.ch
	Copyright (c) 1997-2003, Microsiga Protheus - TOTVS SA
	All rights reserved.
/*/

#XTRANSLATE _WSParms_( [<prm,...>] )    =>  [(<prm>)] 		

#XCOMMAND WSRESTFUL <ClsNam> DESCRIPTION <ClsDoc> ;
		=> ;
		_ObjNewClass( <ClsNam> , WSRESTFUL )	;;
		_ObjClassData( DESCRIPTION_<ClsNam> , string, , <ClsDoc> ) ;;
		_ObjClassData( AURLPARMS , opt_arrayof_string , , {} ) ;;
		_ObjClassData( cFormat , string , , "json" )
		

#XCOMMAND WSRESTFUL <ClsNam> DESCRIPTION <ClsDoc> NAMESPACE <ClsNameSpace>;
		=> ;
		_ObjNewClass( <ClsNam> , WSRESTFUL )	;;
		_ObjClassData( DESCRIPTION_<ClsNam> , string, , <ClsDoc> ) ;; 
		_ObjClassData( DESCRIPTION__NAMESPACE_<ClsNam> , string, , <ClsNameSpace> ) ;;
		_ObjClassData( AURLPARMS , opt_arrayof_string , , {} ) ;;
		_ObjClassData( cFormat , string , , "json" )

#XCOMMAND ENDWSRESTFUL	=>	;
		_ObjEndClass()  

#XCOMMAND END WSRESTFUL	=>	ENDWSRESTFUL ;

#XCOMMAND WSMETHOD GET ;
        =>  ;
        _ObjClassMethod( GET, _WSParms_(), ) 

#XCOMMAND WSMETHOD GET DESCRIPTION <MthDoc> 	;
        =>  ;
        _ObjClassMethod( GET, _WSParms_(), ) ;;
		_ObjClassData( DESCRIPTION_GET , string, , <MthDoc> )		

#XCOMMAND WSMETHOD PUT ;
        =>  ;
        _ObjClassMethod( PUT, _WSParms_(), ) 

#XCOMMAND WSMETHOD PUT DESCRIPTION <MthDoc> 	;
        =>  ;
        _ObjClassMethod( PUT, _WSParms_(), ) ;;
		_ObjClassData( DESCRIPTION_PUT , string, , <MthDoc> )		

#XCOMMAND WSMETHOD POST ;
        =>  ;
        _ObjClassMethod( POST, _WSParms_(), ) 

#XCOMMAND WSMETHOD POST DESCRIPTION <MthDoc> 	;
        =>  ;
        _ObjClassMethod( POST, _WSParms_(), ) ;;
		_ObjClassData( DESCRIPTION_POST , string, , <MthDoc> )		
                                       
#XCOMMAND WSMETHOD DELETE ;
        =>  ;
        _ObjClassMethod( DELETE, _WSParms_(), ) 

#XCOMMAND WSMETHOD DELETE DESCRIPTION <MthDoc> 	;
        =>  ;
        _ObjClassMethod( DELETE, _WSParms_(), ) ;;
		_ObjClassData( DESCRIPTION_DELETE , string, , <MthDoc> )		
		

#XTRANSLATE WSMETHOD GET [ WSSEND <_p1_Par> ] WSSERVICE <clas> ;
		=>	;
		Function ___<clas>____GET([<_p1_Par>])

#XTRANSLATE WSMETHOD GET [ WSRECEIVE <_p1_Par,...> ] [ WSSEND <_p2_Par> ] WSSERVICE <clas> ;
		=>	;
		Function ___<clas>____GET([<_p1_Par>][,<_p2_Par>])


#XTRANSLATE WSMETHOD PUT [ WSSEND <_p1_Par> ] WSSERVICE <clas> ;
		=>	;
		Function ___<clas>____PUT([<_p1_Par>])

#XTRANSLATE WSMETHOD PUT [ WSRECEIVE <_p1_Par,...> ] [ WSSEND <_p2_Par> ] WSSERVICE <clas> ;
		=>	;
		Function ___<clas>____PUT([<_p1_Par>][,<_p2_Par>])

#XTRANSLATE WSMETHOD POST [ WSSEND <_p1_Par> ] WSSERVICE <clas> ;
		=>	;
		Function ___<clas>____POST([<_p1_Par>])

#XTRANSLATE WSMETHOD POST [ WSRECEIVE <_p1_Par,...> ] [ WSSEND <_p2_Par> ] WSSERVICE <clas> ;
		=>	;
		Function ___<clas>____POST([<_p1_Par>][,<_p2_Par>])

#XTRANSLATE WSMETHOD DELETE [ WSSEND <_p1_Par> ] WSSERVICE <clas> ;
		=>	;
		Function ___<clas>____DELETE([<_p1_Par>])

#XTRANSLATE WSMETHOD DELETE [ WSRECEIVE <_p1_Par,...> ] [ WSSEND <_p2_Par> ] WSSERVICE <clas> ;
		=>	;
		Function ___<clas>____DELETE([<_p1_Par>][,<_p2_Par>])


#XCOMMAND WSDATA <uVar> [AS <Typ>] ;
        => _ObjClassData( <uVar>, [<Typ>], , )
		
#XCOMMAND WSDATA <uVar> [AS <Typ> OPTIONAL] ;
        => _ObjClassData( <uVar>, [opt_<Typ>], , )
